﻿namespace Algo.Demo
{
    using System.Collections.Generic;

    internal static class Strategies
    {
        public static IEnumerable<ISortStrategy> GetSortStrategies()
        {
            yield return AlgoFactory.CreateBubbleSortStrategy();
            yield return AlgoFactory.CreateCocktailSortStrategy();
            yield return AlgoFactory.CreateGnomeSortStrategy();
            yield return AlgoFactory.CreateInsertsSortStrategy();
            yield return AlgoFactory.CreateMergeSortStrategy();
            yield return AlgoFactory.CreateQuickSortStrategy();
            yield return AlgoFactory.CreateSelectionSortStrategy();
            yield return AlgoFactory.CreateTreeSortStrategy();
        }

        public static IEnumerable<IDichotomySearchStrategy> GetDichotomySearchStrategy()
        {
            yield return AlgoFactory.CreateBinarySearchStrategy();
            yield return AlgoFactory.CreateGoldenSectionSearchStrategy();
        }
    }
}
